package cn.iocoder.yudao.module.dr.dal.dataobject.collectionmanagement;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 藏品管理 DO
 *
 * @author 管理员
 */
@TableName("dr_collection_management")
@KeySequence("dr_collection_management_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CollectionManagementDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 藏品总登记号
     */
    private String generalAccessionNumber;
    /**
     * 编号类型
     *
     * 枚举 {@link TODO collection_num_type 对应的类}
     */
    private String numberType;
    /**
     * 名称
     */
    private String name;
    /**
     * 编号
     */
    private String number;
    /**
     * 原名
     */
    private String originalName;
    /**
     * 年代
     */
    private String era;
    /**
     * 地质年代
     */
    private String geologicalEra;
    /**
     * 考古学年代
     */
    private String archaeologicalEra;
    /**
     * 中国历史学年代
     */
    private String chineseHistoricalEra;
    /**
     * 具体年代
     */
    private String specificEra;
    /**
     * 文物类别
     *
     * 枚举 {@link TODO collection_category 对应的类}
     */
    private String category;
    /**
     * 质地类别1
     *
     * 枚举 {@link TODO collection_material_type 对应的类}
     */
    private String materialCategory1;
    /**
     * 质地类别2
     *
     * 枚举 {@link TODO collection_material_type 对应的类}
     */
    private String materialCategory2;
    /**
     * 质地
     *
     * 枚举 {@link TODO collection_texture 对应的类}
     */
    private String material;
    /**
     * 件数
     */
    private Integer numberOfCases;
    /**
     * 单位
     */
    private String numberUnit;
    /**
     * 实际数量
     */
    private Integer actualQuantity;
    /**
     * 外形尺寸(cm)-通长
     */
    private BigDecimal sizeLength;
    /**
     * 外形尺寸(cm)-通宽
     */
    private BigDecimal sizeWidth;
    /**
     * 外形尺寸(cm)-通高
     */
    private BigDecimal sizeHeight;
    /**
     * 具体尺寸
     */
    private String specificSize;
    /**
     * 质量-质量范围
     *
     * 枚举 {@link TODO collection_quality_range 对应的类}
     */
    private String weightRange;
    /**
     * 质量-具体质量
     */
    private BigDecimal specificWeight;
    /**
     * 质量-单位
     *
     * 枚举 {@link TODO collection_quality_unit 对应的类}
     */
    private String weightUnit;
    /**
     * 文物级别
     *
     * 枚举 {@link TODO collection_grade 对应的类}
     */
    private String relicLevel;
    /**
     * 文物来源
     *
     * 枚举 {@link TODO collection_source 对应的类}
     */
    private String relicSource;
    /**
     * 完残程度
     *
     * 枚举 {@link TODO collection_condition_status 对应的类}
     */
    private String completenessDegree;
    /**
     * 完残状况
     */
    private String completenessCondition;
    /**
     * 保存状态
     *
     * 枚举 {@link TODO collection_preservation_status 对应的类}
     */
    private String preservationState;
    /**
     * 入藏时间范围
     */
    private String collectionTimeRange;
    /**
     * 入藏年度
     */
    private String collectionYear;
    /**
     * 藏品登记号
     */
    private String collectionRegistrationNumber;
    /**
     * 版本
     */
    private String version;
    /**
     * 存卷
     */
    private String storageVolume;
    /**
     * 行政区划
     */
    private String administrativeDivision;
    /**
     * 单位编码
     */
    private String unitCode;
    /**
     * 单位名称
     */
    private String unitName;


    /**
     * 画心尺寸-长
     */
    private Double paintingLength;
    /**
     * 画心尺寸-宽
     */
    private Double paintingWidth;
    /**
     * 画心尺寸-高
     */
    private Double paintingHeight;
    /**
     * 装裱尺寸-长
     */
    private Double mountingLength;
    /**
     * 装裱尺寸-宽
     */
    private Double mountingWidth;
    /**
     * 装裱尺寸-高
     */
    private String mountingHeight;
    /**
     * 内容题材
     */
    private String subjectMatter;
    /**
     * 技法风格
     */
    private String techniqueStyle;
    /**
     * 款识信息
     */
    private String inscriptionInfo;
    /**
     * 形状
     */
    private String shape;
    /**
     * 钮式
     */
    private String knobStyle;
    /**
     * 印文内容
     */
    private String sealContent;
    /**
     * 文字类型
     */
    private String textType;
    /**
     * 印文排列
     */
    private String textArrangement;
    /**
     * 边框特征
     */
    private String borderFeature;
    /**
     * 印面尺寸
     */
    private String sealSize;

}